package com.common.baselib.ui;

import android.content.Context;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.common.baselib.R;


public class ToastUtil {

    private static Toast mToast;
    private static Toast mToastView;

    private ToastUtil() {

    }

    private static Toast getToast(Context c) { //没有做同步，因为限制只能在主线程调用。
        if (mToast == null) {
            if (c == null) {
                throw new RuntimeException("构造 Toast的context 不能为空");
            }
            mToast = Toast.makeText(c.getApplicationContext(), "构造toast", Toast.LENGTH_SHORT);
            mToast.setGravity(Gravity.CENTER, 0, 0);
        }
        return mToast;
    }

    private static Toast getToastView(Context c) {
        if (mToastView == null) {
            if (c == null) {
                throw new RuntimeException("构造 Toast的context 不能为空");
            }
            mToastView = new Toast(c);
            mToastView.setGravity(Gravity.CENTER, 0, 0);
        }
        return mToastView;
    }


    public static void showToastShort(Context context, String text) {
        if (TextUtils.isEmpty(text))
            return;
        getToast(context).setDuration(Toast.LENGTH_SHORT);
        getToast(context).setText(text);
        getToast(context).show();
    }


    public static void showToastLong(Context context, String text) {
        if (TextUtils.isEmpty(text))
            return;
        getToast(context).setDuration(Toast.LENGTH_LONG);
        getToast(context).setText(text);
        getToast(context).show();
    }


    public static void showToastShort(Context context, int textId) {
        showToastShort(context, context.getResources().getString(textId));
    }

    public static void showToastLong(Context context, int textId) {
        showToastLong(context, context.getResources().getString(textId));
    }

//    public static void showToastView(Context context, int textId, String text) {
//        if (textId <= 0)
//            return;
//        if (TextUtils.isEmpty(text))
//            return;
//        getToastView(context).setDuration(Toast.LENGTH_LONG);
//        LayoutInflater inflater = LayoutInflater.from(context);
//        View toast_view = inflater.inflate(textId, null);
//        TextView textView = toast_view.findViewById(R.id.text);
//        textView.setText(text);
//        getToastView(context).setView(toast_view);
//        getToastView(context).show();
//    }

}
